/*
 * 英才汇硕信息科技有限公司 拥有本软件版权 2021 并保留所有权利。
 * Copyright 2021, YCHS Information&Science Techology Co.,Ltd,
 * All right reserved.
 */
package com.ychs.lawyerback.dto;


import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

import java.util.Date;
import java.util.List;

/**
 * @author mayujing
 * @version 1.0
 * 律师信息操作DTO
 */
@Data
public class LawyerOptDTO {
    private long lawyerId;

    private long id;

    @NotBlank(message = "真实姓名不能为空")
    private String realname;

    @NotBlank(message = "性别不能为空")
    private String sex;

    @NotBlank(message = "民族不能为空")
    private String nation;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

    @NotBlank(message = "毕业院校不能为空")
    private String graduateSchool;

    @NotBlank(message = "专业不能为空")
    private String major;

    @NotBlank(message = "学历不能为空")
    private String education;

    private String politicalStatus;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date joinPartyDate;

    @NotBlank(message = "身份证号不能为空")
//    @Pattern(regexp = "^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$",
//            message = "身份证号格式不正确")
    private String idCard;

    @NotBlank(message = "手机号不能为空")
//    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "请输入正确的手机号码")
    private String phone;

    @NotBlank(message = "业务邮箱不能为空")
//    @Pattern(regexp = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$", message = "邮箱格式不正确")
    private String email;

    private String residence;

    @NotBlank(message = "执业证号不能为空")
    private String licenseNo;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date qualificationDate;
    private String businessSpecialty;
    private Integer isPartner;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date hireDate;

    @NotBlank(message = "律师类型不能为空")
    private String lawyerType;

    private String partTimeWork;
    private Integer representative;
    private String award;
    private String punishment;

    @NotBlank(message = "工作状态不能为空")
    private String workStatus;

    private String remark;

    private MultipartFile photoFile;

    private String resume;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date firstSocialSecurityDate;
    private String socialSecurityNo;
    private String socialDutie; // 社会职务
    private String academicAchievements; // 学术成果
    private String legalAdvisorUnits; // 法律顾问单位

    private MultipartFile fileTransferRecordsFile; // 档案调转记录URL（单文件，用逗号分隔）
    private MultipartFile transferRecordsFile;     // 转所记录URL（单文件，用逗号分隔）

    private List<MultipartFile> certificateIds; // 证书ID列表（用于关联多文件
    // 多文件（律师证书）
    private List<MultipartFile> certificateFiles; // 证书文件列表
    private List<String> certificateNames; // 证书名称列表（与文件一一对应）
    private List<Long> deleteCertificateIds;


}
